﻿Public Class EIQ分析AI化フォルダ作成F
    Private Sub EIQ分析AI化フォルダ作成F_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        著作L.Text = 著作
        Tera計算Data確認()
        注Lb1.Text = "" : 注Lb2.Text = ""
    End Sub

    Private Sub フォルダ作成Bt_Click(sender As Object, e As EventArgs) Handles フォルダ作成Bt.Click
        フォルダ作成()
    End Sub

    Private Sub Tera計算の出荷データ使用Rb_CheckedChanged(sender As Object, e As EventArgs) Handles Tera計算の出荷データ使用Rb.CheckedChanged
        If Tera計算の出荷データ使用Rb.Checked = True Then
            注Lb1.Text = ""
            注Lb2.Text = ""
        Else
            注Lb1.Text = "注：ユーザー保有出荷データを使用する場合は、ユーザーがソフト起動前に"
            注Lb2.Text = "ユーザーが手動でEIQ分析AI化フォルダにコピーしてください"

        End If
    End Sub

    Private Sub フォルダ作成()

        Try
            ' 検索するドライブを A〜F に限定して既存の Tera計算Data を探す
            Dim candidates As New System.Collections.Generic.List(Of String)
            For Each d As String In New String() {"A", "B", "C", "D", "E", "F"}
                Dim p As String = d & ":\Tera計算Data"
                If System.IO.Directory.Exists(p) Then
                    candidates.Add(p)
                End If
            Next

            If candidates.Count = 0 Then
                MsgBox("Tera計算Dataディレクトリが見つかりません。[Tera計算Data]を任意のドライブに用意してください。")
                Exit Sub
            ElseIf candidates.Count > 1 Then
                MsgBox("Tera計算Dataが複数見つかりました。1つだけ残してから再実行してください。")
                Exit Sub
            End If

            Dim teraRoot As String = candidates(0)
            Dim target As String = System.IO.Path.Combine(teraRoot, "EIQ分析AI化")

            ' 既存フォルダーがあれば削除
            If System.IO.Directory.Exists(target) Then
                Try
                    System.IO.Directory.Delete(target, True)
                Catch ex As Exception
                    MsgBox("既存のフォルダ削除に失敗しました: " & ex.Message)
                    Exit Sub
                End Try
            End If

            ' 新規フォルダー作成と基本構成を作る
            System.IO.Directory.CreateDirectory(target)
            System.IO.Directory.CreateDirectory(System.IO.Path.Combine(target, "計算結果"))
            System.IO.Directory.CreateDirectory(System.IO.Path.Combine(target, "Etcフォルダー"))
            System.IO.Directory.CreateDirectory(System.IO.Path.Combine(target, "Models"))

            ' 必要なファイルのプレースホルダーを作成（上書きしない）
            Dim accdb As String = System.IO.Path.Combine(target, "EIQ_AIモデル.accdb")
            Dim excel As String = System.IO.Path.Combine(target, "出荷データ.xlsx")
            If Not System.IO.File.Exists(accdb) Then
                Using fs As System.IO.FileStream = System.IO.File.Create(accdb)
                    ' 空ファイル（プレースホルダー）
                End Using
            End If
            If Not System.IO.File.Exists(excel) Then
                Using fs As System.IO.FileStream = System.IO.File.Create(excel)
                    ' 空ファイル（プレースホルダー）
                End Using
            End If

            ' 共通モジュールのパスを更新
            Try
                Dat保存Path = target
                モデル保存Path = Dat保存Path & "\Models"
                計算結果Path = Dat保存Path & "\計算結果"
            Catch
                ' もし共通モジュールの変数が参照できなくても処理は続ける
            End Try

            MsgBox("EIQ分析AI化フォルダを作成しました: " & target)
        Catch ex As Exception
            MsgBox("フォルダ作成エラー: " & ex.Message)
        End Try

    End Sub
End Class